/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package fr.ove.openmath.jome.ctrlview.bidim;

/**
 *
 * @author Mr.Sam
 */
import java.awt.Dimension;

/**
* Interface that must implement all objects that want to be sized.
*
* @author © 1999 DIRAT Laurent
* @version 2.0 29/06/1999
*/
public interface Sizable {
    /**
    * Returns the width of the instance.
    */
    public int getWidth();
    
    /**
    * Sets the width of the instance.
    * @param width the width of the instance
    */
    public void setWidth(int width);
    
    /**
    * Returns the height of the instance.
    */
    public int getHeight();
    
    /**
    * Sets the height of the instance.
    * @param height the height of the instance
    */
    public void setHeight(int height);
    
    /**
    * Returns the size of the instance.
    */
    public Dimension getSize();
    
    /**
    * Sets the size of the instance.
    * @param width the width of the instance.
    * @param height the height of the instance
    */
    public void setSize(int width, int height);
    
    /**
    * Sets the size of the instance.
    * @param size the size of the instance.
    */
    public void setSize(Dimension size);
    
    /**
    * Returns the preferred size of the instance.
    */
    public Dimension getPreferredSize();
}